export interface ProcessDefinitionInOrUpReq {
  id: number // 流程定义表主键ID
  processKey: string // 流程唯一标识(业务中使用的 key)
  processName: string // 流程名称
  processVersion: number // 流程版本号
  processStatus: number // 状态：0-草稿, 1-发布, 2-停用
  description: string // 流程描述/说明
  deleted: boolean // 0:启用, 1:删除
}

// 分页请求参数
export interface PageReq {
  current: number // 当前页码，默认值为 1
  size: number // 每页显示记录数，默认值为 10
}

// 分页查询流程定义请求对象
export interface QueryProcessDefinitionReq {
  processName: string // 流程定义名称
  pageReq: PageReq // 分页请求参数
}

// 流程定义VO
export interface ProcessDefinitionVO {
  id: string // 流程定义表主键ID（序列化为字符串）
  processKey: string // 流程唯一标识(业务中使用的 key)
  processName: string // 流程名称
  processVersion: number // 流程版本号
  xmlMongoId: string // BPMN XML存放在MongoDB中的ID
  processStatus: number // 状态：0-草稿, 1-发布, 2-停用
  description: string // 流程描述/说明
  deleted: boolean // 0:启用, 1:删除
  creatorId: number // 创建人id
  creatorName: string // 创建人名称
  createTime: string // 创建时间，格式 "yyyy-MM-dd"
  modifierId: number // 修改人id
  modifierName: string // 修改人名称
  modifyTime: string // 修改时间，格式 "yyyy-MM-dd"
  recordVersion: number // 版本号
  attribute1: string // 扩展字段1
  attribute2: string // 扩展字段2
  attribute3: string // 扩展字段3
  attribute4: string // 扩展字段4
  attribute5: string // 扩展字段5
}

// 查询流程 xml 请求对象
export interface QueryOneProcessDefinitionReq {
  processKey?: string // 流程唯一标识(业务中使用的 key)
}

// 保存流程 xml 请求对象
export interface SaveProcessDefinitionXmlReq {
  processKey?: string // 流程唯一标识(业务中使用的 key)
  processXml?: string // BPMN XML
}

// 发布流程 xml 请求对象
export interface PublishProcessDefinitionXmlReq {
  processKey?: string // 流程唯一标识(业务中使用的 key)
  processVersion?: number
}
